package vista;

import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;

import modelo.dao.DAO;
import modelo.transfer.Usuario;
import controlador.Controlador;

import javax.swing.JPasswordField;

import java.awt.Color;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

public class PanelModUsuario extends JPanel {
	
	private DAO dao;
	private Controlador controlador;
	private JPanel actual;
	private JTextField textField;
	private JPasswordField passwordField;
	private Usuario usuario;

	/**
	 * Create the panel.
	 */
	public PanelModUsuario(DAO d, Controlador c, Usuario ids) {
		
		setBackground(Color.GRAY);
		setLayout(null);
		setSize(423,250);
		this.dao = d;
		this.controlador = c;
		this.actual = this;
		this.usuario = ids;
		
		JButton btnAceptar = new JButton("Aceptar");
		btnAceptar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				modificarUsuario(textField.getText(), passwordField.getPassword());
				FrameModSocUsu topFrame = (FrameModSocUsu) SwingUtilities.getWindowAncestor(actual);
				PanelUsuarios usu = (PanelUsuarios) topFrame.getPadre();
				usu.verUsuarios();
				topFrame.dispose();
			}
		});
		btnAceptar.setBounds(49, 187, 100, 23);
		add(btnAceptar);
		
		JButton btnCancelar = new JButton("Cancelar");
		btnCancelar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				JFrame topFrame = (JFrame) SwingUtilities.getWindowAncestor(actual);
				topFrame.dispose();
			}
		});
		btnCancelar.setBounds(277, 187, 100, 23);
		add(btnCancelar);
		
		JLabel lblUsuario = new JLabel("Usuario:");
		lblUsuario.setBounds(49, 48, 46, 14);
		add(lblUsuario);
		
		textField = new JTextField();
		textField.setBounds(132, 45, 245, 20);
		textField.setText(this.usuario.getNombre());
		add(textField);
		textField.setColumns(10);
		
		JLabel lblContrasea = new JLabel("Contrase\u00F1a:");
		lblContrasea.setBounds(49, 76, 67, 14);
		add(lblContrasea);
		
		passwordField = new JPasswordField();
		passwordField.setBounds(132, 76, 245, 20);
		passwordField.setText(this.usuario.getPassword());
		add(passwordField);
	}
	
	private void modificarUsuario(String nombre, char[] password){
		controlador.getControladorUsuarios().modificarUsuario(this.usuario.getId(), nombre, new String(password));
	}

}
